
function preloader(callback){

    var imgs =[],
        imgsBg =[],
        sounds =[],
        videos=[],
        concluido=null,
        baseUrl=[],
        caminho=document.URL.replace("index.html","");

    /*
     *Armazenando todos as imagens,audios e videos existentes no documento!
     */

    $("* img").each(function(index) {
        imgs.push($(this).attr('src'))
    })



    $('audio > source').each(function(idx,obj){
        /*
         *Subistituindo caminho relativo  deixando ex audio/
         */
        sounds.push(obj.src.replace(caminho, "").replace("url(","").replace(")", ""))//
    })


    $('video > source').each(function(idx,obj){
        /*
         *Subistituindo caminho relativo  deixando ex video/
         */

        videos.push(obj.src.replace(caminho, "").replace("url(","").replace(")", ""))
        console.log(videos[0]);
    })

    /*
     *Armazenando todos as imagens, que estão como background no documento! usei  o replace pq estava vindo o caminho do computador
     */


    $('*').each(function(index) {
        if ($(this).css('background-image')!="none")
        /*
         *Subistituindo caminho relativo  deixando ex img/
         */
            imgsBg.push($(this).css('background-image').replace(caminho, "").replace("url(","").replace(")", ""))
        //       console.log((imgsBg))

    })

    console.group();
    // console.log("videos",videos)
    //  console.log("imagens bg",imgsBg);
    // console.log("img src",imgs)
    //  console.log("sons",sounds)
    console.groupEnd();






    try{

        /*
         * Chama funcao para remover itens repetidos desnecessarios do array
         */
        removeRepetido (imgsBg)

        baseUrl=imgs.concat(imgsBg)
        loader = new PxLoader();


        /*
         *for para alimentação de imagens instanciando o objeto PxLoaderImage
         */

        for(var i=0; i <baseUrl.length; i++) {
            var pxImage = new PxLoaderImage(baseUrl[i]);
            pxImage.imageNumber = i ;
            loader.add(pxImage);
        }

        /*
         *for para alimentação de audios instanciando o objeto PxLoaderAudio
         */

        for(var s=0; s <sounds.length; s++) {
            var pxAudio=new PxLoaderAudio(sounds[s]);
            pxAudio.audioNumber = s ;
            loader.add(pxAudio);
        }

        /*
         *for para alimentação de videos instanciando o objeto PxLoaderVideo
         */

        for(var v=0; v <videos.length; v++) {

            var pxVideo=new PxLoaderVideo(videos[v]);
            pxVideo.videosNumber = v ;
            loader.add(pxVideo);

        }




    }catch(e){//console.log('erro',e)
    }

    /*
     *Retornando progresso do Carregamento
     */

    loader.addProgressListener(function(e) {
        console.log(e);

        try{
            concluido = e.completedCount  /  e.totalCount *100;
            //console.log(Math.round(concluido)+'%')
            // console.log('Image ' + e.resource.imageNumber + ' Loaded\r')
            //time= setTimeout(function() {console.log(e.completedCount)},000)

            $("#preloader #pct").text(Math.round(concluido)+'%');
            //$('#carregador_jogo').css('width', pct_concluido+'%');
            //console.log(e.resource)


        }catch(e)  {//console.log('erro',e)
        }

    });

    /*
     *Retornando Quando o carregamento terminou!
     */

    loader.addCompletionListener(function() {
        imgs =[],
            imgsBg =[],
            sounds =[],
            videos=[],
            concluido=null,
            baseUrl=[];
        console.log("teste");
        TweenLite.to("#preloader", 1, {alpha: 0, "display": "none"});
        $(".iniciar").css('display', 'block');
        $(".iniciar").click(function () {
            //TweenLite.to("#svg", 0.5, {alpha:0,display:"none"});
            $("#svg").css({display: "none"});
            callback();
            $('#content').css({"display": "block"});
        });

    });


    loader.start();
}//())

function removeRepetido (argumentos){

    console.log("argumentos antes de retirar",argumentos.length);

    for(var  i=1;i<=argumentos.length;i++){
        for(var j=i+1;j<argumentos.length;j++){
            if(argumentos[j]==argumentos[i]){
                console.log("iguais",argumentos[i])
                argumentos.remove(argumentos.indexOf(i), 1);
            }
        }
    }
    console.log("argumentos dpois retirar",argumentos.length);

    return  argumentos
}



function resolveCaminho(objeto,caminho){

    /*
     objeto.replace(caminho, "").replace("url(","").replace(")", "")
     var novoObjeto=objeto;
     console.log("objeto",novoObjeto)
     return  novoObjeto
     */
}






Array.prototype.remove = function(start, end) {
    this.splice(start, end);
    return this;
}

Array.prototype.insert = function(pos, item) {
    this.splice(pos, 0, item);
    return this;
}